package com.xinling.modules.user.service;

import com.xinling.modules.user.model.dto.LoginDTO;
import com.xinling.modules.user.model.dto.RegisterDTO;
import com.xinling.modules.user.model.vo.UserVO;
import org.springframework.web.multipart.MultipartFile;

public interface UserService {
    
    /**
     * 用户注册
     * @param registerDTO 注册信息
     * @return 用户信息
     */
    UserVO register(RegisterDTO registerDTO);

    /**
     * 用户登录
     * @param loginDTO 登录信息
     * @return JWT token 或 "-1"(用户不存在) "-2"(密码错误)
     */
    String login(LoginDTO loginDTO);

    /**
     * 获取当前用户信息
     * @return 用户信息
     */
    UserVO getCurrentUser();

    /**
     * 更新用户信息
     * @param userVO 用户信息
     * @return 更新后的用户信息
     */
    UserVO updateUserInfo(UserVO userVO);

    /**
     * 修改密码
     * @param oldPassword 旧密码
     * @param newPassword 新密码
     */
    void updatePassword(String oldPassword, String newPassword);

    /**
     * 上传头像
     * @param file 头像文件
     * @return 头像URL
     */
    String uploadAvatar(MultipartFile file);
} 